//
//  LRBoxProduceLogic.h
//  lineRunner_cocos2d
//
//  Created by chen jingsen on 13-1-19.
//
//

/**
 *	@brief	盒子出现的位置
 */
typedef enum {
	BoxLocationUp = 1, /**< 上 */
	BoxLocationDown  = 2/**< 下 */
}BoxLocation;

#import <Foundation/Foundation.h>
#import "cocos2d.h"

@interface LRBoxProduceLogic : NSObject
{
    float currentObstacleDistance;  // 当前已产生的障碍距离,不可大于最大跳跃距离
    int lastLocation;               //上个盒子的状态
    BoxLocation currentLocation;    //当前盒子的状态
}

/**
 *	@brief	当两相box之间距离在此范围内时会存生不可跳跃距离，产生障碍距离box.width+noJumpDistance
 *          默认为3个单位
 */
@property (nonatomic) float noJumpDistance;

/**
 *	@brief	最大的跳跃距离 10个单位
 */
@property (nonatomic) float maxJumpDistance;

/**
 *	@brief	最大的滚动距离 10个单位
 */
@property (nonatomic) float maxScrollDistance;

/**
 *	@brief	盒子上下方向出现的的比率 １:７
 */
@property (nonatomic) float UpOrDowmBoxRatio;

/**
 *	@brief	用于计算的单位 默认为２０个像素
 */
@property (nonatomic) float distanceUnit;

/**
 *	@brief	相同方向(上或下)盒子的最大的距离　默认为20单位数
 */
@property (nonatomic) float sameBoxMaxDistance;

/**
 *	@brief	相同方向盒子的最小距离　为1个单位数
 */
@property (nonatomic) float sameBoxMinDistance;

/**
 *	@brief	不同方向盒子的最大距离　为15个单位数
 */
@property (nonatomic) float differBoxMaxDistance;

/**
 *	@brief	不同方向盒子的最小距离　为4个单位数
 */
@property (nonatomic) float differBoxMinDistance;

/**
 *	@brief	获取随机上或下方向
 *
 *	@return	１为上，２为下
 */
- (BoxLocation)boxUpOrDownlocation;

/**
 *	@brief	盒子的处于上一个盒子的距离
 *
 *	@return	距离
 */
- (float)boxDistance;

@end
